﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace NHModel.Entities
{
    public class Orders
    {
        #region Member Variables

        protected int _id;
        protected int _teacherID;
        protected DateTime _createTime;
        protected DateTime _deleteTime;
        protected int _isActive;
        protected int _orderLevel;
        protected OrderStatus _orderStatus;
        protected Product _product;
        protected UserInfo _user;
        protected IList _orderDocumentses;


        #endregion

        #region Constructors

        public Orders() { }

        public Orders(int teacherID, DateTime createTime, DateTime deleteTime, int isActive, int orderLevel, OrderStatus orderStatus, Product product, UserInfo user)
        {
            this._teacherID = teacherID;
            this._createTime = createTime;
            this._deleteTime = deleteTime;
            this._isActive = isActive;
            this._orderLevel = orderLevel;
            this._orderStatus = orderStatus;
            this._product = product;
            this._user = user;
        }

        #endregion

        #region Public Properties

        public virtual int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public virtual int TeacherID
        {
            get { return _teacherID; }
            set { _teacherID = value; }
        }

        public virtual DateTime CreateTime
        {
            get { return _createTime; }
            set { _createTime = value; }
        }

        public virtual DateTime DeleteTime
        {
            get { return _deleteTime; }
            set { _deleteTime = value; }
        }

        public virtual int IsActive
        {
            get { return _isActive; }
            set { _isActive = value; }
        }

        public virtual int OrderLevel
        {
            get { return _orderLevel; }
            set { _orderLevel = value; }
        }

        public virtual OrderStatus OrderStatus
        {
            get { return _orderStatus; }
            set { _orderStatus = value; }
        }

        public virtual Product Product
        {
            get { return _product; }
            set { _product = value; }
        }

        public virtual UserInfo User
        {
            get { return _user; }
            set { _user = value; }
        }

        public virtual IList OrderDocumentses
        {
            get
            {
                if (_orderDocumentses == null)
                {
                    _orderDocumentses = new ArrayList();
                }
                return _orderDocumentses;
            }
            set { _orderDocumentses = value; }
        }


        #endregion

    }
}
